package chap2_9;

import java.io.*;

/**
 * @author https://gitee.com/W_Jun
 * @date 2021-12-11 22:11
 * @Description 字节缓冲流
 */
public class BufferedStreamDemo {
    public static void main(String[] args) throws IOException {
        //写数据
        //1.创建字节缓冲输出流
        /*FileOutputStream fos = new FileOutputStream("chapter02-字节流\\bos.txt");
        BufferedOutputStream bos = new BufferedOutputStream(fos);*/
        BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("chapter02-字节流\\bos.txt"));
        //构造方法BufferedOutputStream(OutputStream out)实际上调用的是
        // 另一个构造BufferedOutputStream(OutputStream out, 8192)
        // 8192是创建了一个size=8192的byte数组
        //2.写数据
        bos.write("hello\r\n".getBytes());
        bos.write("world\r\n".getBytes());
        //3.释放资源
        bos.close();

        //读数据
        //1.创建字节缓冲输入流
        BufferedInputStream bis = new BufferedInputStream(new FileInputStream("chapter02-字节流\\bos.txt"));
        //构造方法BufferedInputStream(InputStream in)实际上调用的是
        // 另一个构造BufferedInputStream(InputStream in, 8192)
        // 8192是创建了一个size=8192的byte数组
        //2.读数据，一次读取一个字节数据
        /*int by;
        while ((by = bis.read()) != -1) {
            System.out.print((char) by);
        }*/
        //2.读数据，一次读取一个字节数组的数据
        byte[] bys = new byte[1024];
        int len;
        while ((len = bis.read(bys)) != -1) {
            System.out.println(new String(bys, 0, len));
        }
        //3.释放资源
        bis.close();

    }
}
